﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Pahan.McuFusion.UI.Interfaces
{
    public interface IProgressView : IDisposable
    {
        /// <summary>
        /// Show the progress dialog.
        /// </summary>
        void ShowDialog();

        /// <summary>
        /// Closes the dialog.
        /// </summary>
        void Close();

        /// <summary>
        /// Updates the progress value.
        /// </summary>
        /// <param name="newValue">The new progress value. Must be in range [0, 100].</param>
        void UpdateProgress(int newValue);

        /// <summary>
        /// Gets or sets the dialog title.
        /// </summary>
        String Title
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the text displayed in the dialog.
        /// </summary>
        String Text
        {
            get;
            set;
        }

        /// <summary>
        /// Raised if the user clicked the Cancel button.
        /// </summary>
        event EventHandler Cancelled;
    }
}
